//仿JSON内置API parse方法
//返回对象
//let javaData = '{"uname":"元宇宙👁", "price": "18"}'
function parse(javaData)
{
    let webObj = {}
    // 1.1 过滤字符串（注：去掉{、}、"、空格） uname:元宇宙👁,price:18
    javaData = javaData.replace(/{|}|"|\s/g, '')
    // 1.2 按 , 分割转为数组       ['uname:元宇宙👁', 'price:18']
    let javaDataArr = javaData.split(',')
    // 1.3 遍历数组（注：item  'uname:元宇宙👁'
    javaDataArr.forEach(item => {
        // 1.3.1 按:分割转数组     ['uname', '元宇宙👁']
        let temp = item.split(':')
        // 1.3.2 数组的第一个值就是键，数组的第二个值就是值
        let key = temp[0]
        let val = temp[1] 
        // 1.3.3 将数据放到空对象中，当对象的键是变量时，用数组语法
        webObj[key] = val
    })
    return webObj
}
//console.log(parse(javaData))



//仿JSON内置API stringify方法
//返回字符串
//let webObj = {a:1,b:2,c:"你好"}
function stringify(webObj)
{
    let arr = []
    // 1 遍历对象
    for (let key in webObj)
    {
        // 2 遍历外面-定义空数组arr
        // 3 遍历里面-将  键拼接:拼接值 push到数组中
        // let temp = `"键":"值"`
        let temp = `"${key}":"${webObj[key]}"`
        // 4 遍历结束-将数组转字符串即可
        arr.push(temp)
    }
    return `{${arr.join(',')}}`
}
//console.log(stringify(webObj))



